﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Crosland.Automotriz.Logic.Linq;
using System.Configuration;
using Crosland.Automotriz.Entidad;

namespace Crosland.Automotriz.Web.Vehiculos
{
    public partial class wFrmControlObsequiosAgrupado : System.Web.UI.Page
    {
        string idNegocio = ConfigurationManager.AppSettings["Negocio"];

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == false) 
            {
                Panel img = (Panel)Master.FindControl("asp");
                img.Visible = false;
                Panel img2 = (Panel)Master.FindControl("pnlTop");
                img2.Visible = false;
                ListarOfertas();
                ListarSupervisores_x_Cartera();
            }
            ListarAgrupado();
        }

        void ListarAgrupado() 
        {
            int ID_VEN_CONTROL_ENTREGA = int.Parse(cboOferta.Value.ToString());
            int ID_VENDEDOR = int.Parse(cboSupervisor.Value.ToString());
            string cartera = cboCartera.Text;
            clsT_VEN_VEHICULOS_OBSEQUIOSBL neg = new clsT_VEN_VEHICULOS_OBSEQUIOSBL();
            gv.DataSource = neg.ListarAgrupado(ID_VEN_CONTROL_ENTREGA, ID_VENDEDOR, cartera);
            gv.DataBind();
        }

        void ListarSupervisores_x_Cartera() 
        {
            string cartera = cboCartera.Text;
            clsTD_VendedorBL neg = new clsTD_VendedorBL();
            List<TD_Vendedor_ID_Nombre> lista = new List<TD_Vendedor_ID_Nombre>();
            lista = neg.ListaSupervisores_x_Cartera(cartera);
            List<TD_Vendedor_ID_Nombre> listaFinal = new List<TD_Vendedor_ID_Nombre>();
            TD_Vendedor_ID_Nombre ent = new TD_Vendedor_ID_Nombre();
            ent.ID_VENDEDOR = -1;
            ent.Nombres = "Todos";
            listaFinal.Add(ent);
            for (int i = 0; i < lista.Count; i++)
            {
                listaFinal.Add(lista[i]);
            }

            cboSupervisor.DataSource = listaFinal;
            cboSupervisor.TextField = "Nombres";
            cboSupervisor.ValueField = "ID_VENDEDOR";
            cboSupervisor.DataBind();
            cboSupervisor.SelectedIndex = 0;
        }

        void ListarOfertas() 
        {
            clsT_VEN_CONTROL_ENTREGABL neg = new clsT_VEN_CONTROL_ENTREGABL();
            List<T_VEN_CONTROL_ENTREGA> ent = new List<T_VEN_CONTROL_ENTREGA>();
            ent = neg.Listar();
            cboOferta.DataSource = ent;
            cboOferta.TextField = "DESCRIPCION";
            cboOferta.ValueField = "ID_VEN_CONTROL_ENTREGA";
            cboOferta.DataBind();
            cboOferta.SelectedIndex = 1;
            MostrarRangoFechas();
        }

        void MostrarRangoFechas()
        {
            int ID_VEN_CONTROL_ENTREGA = int.Parse(cboOferta.Value.ToString());
            clsT_VEN_CONTROL_ENTREGABL neg = new clsT_VEN_CONTROL_ENTREGABL();
            T_VEN_CONTROL_ENTREGA ent = new T_VEN_CONTROL_ENTREGA();
            ent = neg.Seleccionar(ID_VEN_CONTROL_ENTREGA);

            string anio_ini = ent.ANIO_INI.ToString("0000");
            string anio_fin = ent.ANIO_FIN.ToString("0000");

            string mes_ini = ent.MES_INI.ToString("00");
            string mes_fin = ent.MES_FIN.ToString("00");

            string dia_ini = ent.DIA_INI.ToString("00");
            string dia_fin = ent.DIA_FIN.ToString("00");

            lblFechaInicio.Text = dia_ini + "/" + mes_ini + "/" + anio_ini;
            lblFechaFinal.Text = dia_fin + "/" + mes_fin + "/" + anio_fin;
        }

        protected void cboCartera_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListarSupervisores_x_Cartera();
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Repuestos/wFrmDefault.aspx?id=" + idNegocio);
        }

        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            ListarAgrupado();
        }

        protected void lnkFacturadas_Click(object sender, EventArgs e)
        {
            int indice = gv.FocusedRowIndex;
            string ID_CLIENTE = gv.GetRowValues(indice, "ID_CLIENTE").ToString();
            Response.Redirect("~/Vehiculos/wFrmControlObsequios.aspx?id=" + idNegocio + "&cli=" + ID_CLIENTE);
        }

        protected void lnkEntregadas_Click(object sender, EventArgs e)
        {
            int indice = gv.FocusedRowIndex;
            string ID_CLIENTE = gv.GetRowValues(indice, "ID_CLIENTE").ToString();
            Response.Redirect("~/Vehiculos/wFrmControlObsequios.aspx?id=" + idNegocio + "&cli=" + ID_CLIENTE);
        }

        protected void lnkPendientes_Click(object sender, EventArgs e)
        {
            int indice = gv.FocusedRowIndex;
            string ID_CLIENTE = gv.GetRowValues(indice, "ID_CLIENTE").ToString();
            Response.Redirect("~/Vehiculos/wFrmControlObsequios.aspx?id=" + idNegocio + "&cli=" + ID_CLIENTE);
        }

        protected void cboOferta_SelectedIndexChanged(object sender, EventArgs e)
        {
            MostrarRangoFechas();
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            clsT_VEN_VEHICULOS_OBSEQUIOSBL neg = new clsT_VEN_VEHICULOS_OBSEQUIOSBL();
            string NRO_FOLIO = txtFolio.Text.Trim();
            List<MapVentas> lista = new List<MapVentas>();
            lista = neg.ListarVentas_x_Folio(NRO_FOLIO);
            if (lista != null) 
            {
                if (lista.Count > 0)
                {
                    lblNumeroSAP.Text = lista[0].NRO_FACTURA.ToString();
                    lblFecha.Text = lista[0].FEC_FACTURA.ToShortDateString();
                    lblCliente.Text = lista[0].DES_CLIENTE;
                    lblSupervisor.Text = lista[0].Supervisor;
                    lblNumeroVIN.Text = lista[0].NRO_VIN;
                    lblNumeroMotor.Text = lista[0].NRO_MOTOR;
                    lblImporte.Text = lista[0].IMP_VENTA_SOLES.ToString();
                    lblCodMaterial.Text = lista[0].COD_MATERIAL;
                    string Estado = lista[0].ES_FACTURA_ANULADA;
                    if (Estado == "X")
                    {
                        lblEstado.Text = "Esta factura está anulada";
                    }
                    else
                    {
                        lblEstado.Text = "";
                    }
                }
                else 
                {
                    lblNumeroSAP.Text = "";
                    lblFecha.Text = "";
                    lblCliente.Text = "";
                    lblSupervisor.Text = "";
                    lblNumeroVIN.Text = "";
                    lblNumeroMotor.Text = "";
                    lblImporte.Text = "";
                    lblCodMaterial.Text = "";
                    lblEstado.Text = "";
                }
            }
            else
            {
                lblNumeroSAP.Text = "";
                lblFecha.Text = "";
                lblCliente.Text = "";
                lblSupervisor.Text = "";
                lblNumeroVIN.Text = "";
                lblNumeroMotor.Text = "";
                lblImporte.Text = "";
                lblCodMaterial.Text = "";
                lblEstado.Text = "";
            }
        }

    }
}